3 research outputs found

    Esquemas de hashing perfeitos, mínimos, práticos, determinísticos e eficientes em tempo e em espaço

    Get PDF
    Orientador : Prof. Dr. Jair Donadelli JrDissertação (mestrado) - Universidade Federal do Paraná, Setor de Ciências Exatas, Programa de Pós-Graduação em Informática. Defesa: Curitiba, 17/11/2011Inclui bibliografia e índiceResumo: Este trabalho propõe algoritmos determinísticos que, dado um conjunto com n chaves, constroem em tempo esperado O(n) uma função hash com tempo de busca no pior caso O(1), a qual mapeia sem colisão as chaves para o conjunto {0, . . . , n-1}. Esses esquemas de hashing perfeitos e mínimos são meras variantes dos esquemas aleatorizados de Botelho, Kohayakawa e Ziviani (2005) e Botelho, Pagh e Ziviani (2007) e mostraram resultados empíricos equivalentes aos dos algoritmos originais. As variantes determinísticas foram implementadas a partir dos códigos dos esquemas originais desenvolvidos na biblioteca CMPH pelos próprios autores, a qual é mantida no SourceForge.net. Todos os esquemas foram alimentados com os mesmos conjuntos de chaves, para que pudessem ser comparados com justiça. Foram executados testes para conjuntos com até 25 000 000 de chaves. Ademais, os esquemas propostos contam evidentemente com a vantagem de sempre produzirem a mesma hash para um mesmo conjunto de chaves. Esse comportamento determinístico pode ser útil para o desenvolvimento dum esquema dinâmico de hashing, em que figuram operações como inserção e deleção de chaves, inspirado num dos excelentes esquemas estáticos abordados. Um dos esquemas de Botelho, Pagh e Ziviani (2007), por exemplo de excelência, constrói hashes representáveis por apenas aproximadamente 2,62 bits por chave. Tal resultado é muito próximo da cota inferior justa conhecida, de aproximadamente 1,44 bits por chave. Tanto as versões determinísticas propostas quanto as originais mostram-se práticas para aplicações reais de Hashing. No entanto, na fundamentação teórica do trabalho de Botelho, Kohayakawa e Ziviani (2005) ainda restava uma conjectura. A presente dissertação também propõe uma demonstração para a conjectura e encerra a corretude do esquema.Abstract: This work proposes deterministic algorithms that, given a set with n keys, build in expected time O(n) a hash function with worst-case O(1) lookup time, which maps without collision the keys to the set {0, . . . , n-1}. These minimal perfect hashing schemes are mere variants of the probabilistic schemes of Botelho, Kohayakawa e Ziviani (2005) and Botelho, Pagh e Ziviani (2007) and have showed empirical results equivalent to the original algorithms. The deterministic variants have been implemented from the source codes of the original schemes developed in CMPH library by the authors theirselves, which is maintained at SourceForge.net. All the schemes have been input with the same key sets, so they could be compared fairly. Tests have been executed over datesets with up to 25 000 000 keys. Moreover, the proposed schemes have evidently the advantage of always generating the same hash function for the same key set. This deterministic behaviour might be useful for developing a dynamic hashing scheme, in which lie operations like insertion and deletion of keys, inspired in one of the excelent static schemes covered. One of the schemes of Botelho, Pagh e Ziviani (2007), as an example of excellence, builds hash functions representable by only about 2.62 bits for key. Such a result is very close to the known tight lower bound, of about 1.44 bits for key. Both the deterministic proposed versions and the original ones show to be practical for common applications of Hashing. However, in the theoretical foundation of the work of Botelho, Kohayakawa e Ziviani (2005) a conjecture remained open. The present dissertation also proposes a proof for the conjecture and ends up the correctness of the scheme

    Novel procedures for graph edge-colouring

    Get PDF
    Orientador: Dr. Renato CarmoCoorientador: Dr. André Luiz Pires GuedesTese (doutorado) - Universidade Federal do Paraná, Setor de Ciências Exatas, Programa de Pós-Graduação em Informática. Defesa : Curitiba, 05/12/2018Inclui referências e índiceÁrea de concentração: Ciência da ComputaçãoResumo: O índice cromático de um grafo G é o menor número de cores necessário para colorir as arestas de G de modo que não haja duas arestas adjacentes recebendo a mesma cor. Pelo célebre Teorema de Vizing, o índice cromático de qualquer grafo simples G ou é seu grau máximo , ou é ? + 1, em cujo caso G é dito Classe 1 ou Classe 2, respectivamente. Computar uma coloração de arestas ótima de um grafo ou simplesmente determinar seu índice cromático são problemas NP-difíceis importantes que aparecem em aplicações notáveis, como redes de sensores, redes ópticas, controle de produção, e jogos. Neste trabalho, nós apresentamos novos procedimentos de tempo polinomial para colorir otimamente as arestas de grafos pertences a alguns conjuntos grandes. Por exemplo, seja X a classe dos grafos cujos maiorais (vértices de grau ?) possuem soma local de graus no máximo ?2 ?? (entendemos por 'soma local de graus' de um vértice x a soma dos graus dos vizinhos de x). Nós mostramos que quase todo grafo está em X e, estendendo o procedimento de recoloração que Vizing usou na prova para seu teorema, mostramos que todo grafo em X é Classe 1. Nós também conseguimos resultados em outras classes de grafos, como os grafos-junção, os grafos arco-circulares, e os prismas complementares. Como um exemplo, nós mostramos que um prisma complementar só pode ser Classe 2 se for um grafo regular distinto do K2. No que diz respeito aos grafos-junção, nós mostramos que se G1 e G2 são grafos disjuntos tais que |V(G1)| _ |V(G2)| e ?(G1) _ ?(G2), e se os maiorais de G1 induzem um grafo acíclico, então o grafo-junção G1 ?G2 é Classe 1. Além desses resultados em coloração de arestas, apresentamos resultados parciais em coloração total de grafos-junção, de grafos arco-circulares, e de grafos cobipartidos, bem como discutimos um procedimento de recoloração para coloração total. Palavras-chave: Coloração de grafos e hipergrafos (MSC 05C15). Algoritmos de grafos (MSC 05C85). Teoria dos grafos em relação à Ciência da Computação (MSC 68R10). Graus de vértices (MSC 05C07). Operações de grafos (MSC 05C76).Abstract: The chromatic index of a graph G is the minimum number of colours needed to colour the edges of G in a manner that no two adjacent edges receive the same colour. By the celebrated Vizing's Theorem, the chromatic index of any simple graph G is either its maximum degree ? or it is ? + 1, in which case G is said to be Class 1 or Class 2, respectively. Computing an optimal edge-colouring of a graph or simply determining its chromatic index are important NP-hard problems which appear in noteworthy applications, like sensor networks, optical networks, production control, and games. In this work we present novel polynomial-time procedures for optimally edge-colouring graphs belonging to some large sets of graphs. For example, let X be the class of the graphs whose majors (vertices of degree ?) have local degree sum at most ?2 ? ? (by 'local degree sum' of a vertex x we mean the sum of the degrees of the neighbours of x). We show that almost every graph is in X and, by extending the recolouring procedure used by Vizing's in the proof for his theorem, we show that every graph in X is Class 1. We further achieve results in other graph classes, such as join graphs, circular-arc graphs, and complementary prisms. For instance, we show that a complementary prism can be Class 2 only if it is a regular graph distinct from the K2. Concerning join graphs, we show that if G1 and G2 are disjoint graphs such that |V(G1)| _ |V(G2)| and ?(G1) _ ?(G2), and if the majors of G1 induce an acyclic graph, then the join graph G1 ?G2 is Class 1. Besides these results on edge-colouring, we present partial results on total colouring join graphs, cobipartite graphs, and circular-arc graphs, as well as a discussion on a recolouring procedure for total colouring. Keywords: Colouring of graphs and hypergraphs (MSC 05C15). Graph algorithms (MSC 05C85). Graph theory in relation to Computer Science (MSC 68R10). Vertex degrees (MSC 05C07). Graph operations (MSC 05C76)

    Novel procedures for graph edge-colouring

    No full text
    Orientador: Dr. Renato CarmoCoorientador: Dr. André Luiz Pires GuedesTese (doutorado) - Universidade Federal do Paraná, Setor de Ciências Exatas, Programa de Pós-Graduação em Informática. Defesa : Curitiba, 05/12/2018Inclui referências e índiceÁrea de concentração: Ciência da ComputaçãoResumo: O índice cromático de um grafo G é o menor número de cores necessário para colorir as arestas de G de modo que não haja duas arestas adjacentes recebendo a mesma cor. Pelo célebre Teorema de Vizing, o índice cromático de qualquer grafo simples G ou é seu grau máximo , ou é ? + 1, em cujo caso G é dito Classe 1 ou Classe 2, respectivamente. Computar uma coloração de arestas ótima de um grafo ou simplesmente determinar seu índice cromático são problemas NP-difíceis importantes que aparecem em aplicações notáveis, como redes de sensores, redes ópticas, controle de produção, e jogos. Neste trabalho, nós apresentamos novos procedimentos de tempo polinomial para colorir otimamente as arestas de grafos pertences a alguns conjuntos grandes. Por exemplo, seja X a classe dos grafos cujos maiorais (vértices de grau ?) possuem soma local de graus no máximo ?2 ?? (entendemos por 'soma local de graus' de um vértice x a soma dos graus dos vizinhos de x). Nós mostramos que quase todo grafo está em X e, estendendo o procedimento de recoloração que Vizing usou na prova para seu teorema, mostramos que todo grafo em X é Classe 1. Nós também conseguimos resultados em outras classes de grafos, como os grafos-junção, os grafos arco-circulares, e os prismas complementares. Como um exemplo, nós mostramos que um prisma complementar só pode ser Classe 2 se for um grafo regular distinto do K2. No que diz respeito aos grafos-junção, nós mostramos que se G1 e G2 são grafos disjuntos tais que |V(G1)| _ |V(G2)| e ?(G1) _ ?(G2), e se os maiorais de G1 induzem um grafo acíclico, então o grafo-junção G1 ?G2 é Classe 1. Além desses resultados em coloração de arestas, apresentamos resultados parciais em coloração total de grafos-junção, de grafos arco-circulares, e de grafos cobipartidos, bem como discutimos um procedimento de recoloração para coloração total. Palavras-chave: Coloração de grafos e hipergrafos (MSC 05C15). Algoritmos de grafos (MSC 05C85). Teoria dos grafos em relação à Ciência da Computação (MSC 68R10). Graus de vértices (MSC 05C07). Operações de grafos (MSC 05C76).Abstract: The chromatic index of a graph G is the minimum number of colours needed to colour the edges of G in a manner that no two adjacent edges receive the same colour. By the celebrated Vizing's Theorem, the chromatic index of any simple graph G is either its maximum degree ? or it is ? + 1, in which case G is said to be Class 1 or Class 2, respectively. Computing an optimal edge-colouring of a graph or simply determining its chromatic index are important NP-hard problems which appear in noteworthy applications, like sensor networks, optical networks, production control, and games. In this work we present novel polynomial-time procedures for optimally edge-colouring graphs belonging to some large sets of graphs. For example, let X be the class of the graphs whose majors (vertices of degree ?) have local degree sum at most ?2 ? ? (by 'local degree sum' of a vertex x we mean the sum of the degrees of the neighbours of x). We show that almost every graph is in X and, by extending the recolouring procedure used by Vizing's in the proof for his theorem, we show that every graph in X is Class 1. We further achieve results in other graph classes, such as join graphs, circular-arc graphs, and complementary prisms. For instance, we show that a complementary prism can be Class 2 only if it is a regular graph distinct from the K2. Concerning join graphs, we show that if G1 and G2 are disjoint graphs such that |V(G1)| _ |V(G2)| and ?(G1) _ ?(G2), and if the majors of G1 induce an acyclic graph, then the join graph G1 ?G2 is Class 1. Besides these results on edge-colouring, we present partial results on total colouring join graphs, cobipartite graphs, and circular-arc graphs, as well as a discussion on a recolouring procedure for total colouring. Keywords: Colouring of graphs and hypergraphs (MSC 05C15). Graph algorithms (MSC 05C85). Graph theory in relation to Computer Science (MSC 68R10). Vertex degrees (MSC 05C07). Graph operations (MSC 05C76)
    corecore